incdir = get_option('includedir') / 'SDL2'

c_sources += configure_file(
  input: 'SDL_config.h.cmake',
  output: 'SDL_config.h',
  format: 'cmake@',
  configuration: cdata,
  install: true,
  install_dir: incdir,
  install_tag: 'devel',
)

headers = [
  'SDL.h',
  'SDL_assert.h',
  'SDL_atomic.h',
  'SDL_audio.h',
  'SDL_bits.h',
  'SDL_blendmode.h',
  'SDL_clipboard.h',
  'SDL_copying.h',
  'SDL_cpuinfo.h',
  'SDL_egl.h',
  'SDL_endian.h',
  'SDL_error.h',
  'SDL_events.h',
  'SDL_filesystem.h',
  'SDL_gamecontroller.h',
  'SDL_gesture.h',
  'SDL_guid.h',
  'SDL_haptic.h',
  'SDL_hidapi.h',
  'SDL_hints.h',
  'SDL_joystick.h',
  'SDL_keyboard.h',
  'SDL_keycode.h',
  'SDL_loadso.h',
  'SDL_locale.h',
  'SDL_log.h',
  'SDL_main.h',
  'SDL_messagebox.h',
  'SDL_metal.h',
  'SDL_misc.h',
  'SDL_mouse.h',
  'SDL_mutex.h',
  'SDL_name.h',
  'SDL_opengl.h',
  'SDL_opengl_glext.h',
  'SDL_opengles.h',
  'SDL_opengles2.h',
  'SDL_opengles2_gl2.h',
  'SDL_opengles2_gl2ext.h',
  'SDL_opengles2_gl2platform.h',
  'SDL_opengles2_khrplatform.h',
  'SDL_pixels.h',
  'SDL_platform.h',
  'SDL_power.h',
  'SDL_quit.h',
  'SDL_rect.h',
  'SDL_render.h',
  'SDL_revision.h',
  'SDL_rwops.h',
  'SDL_scancode.h',
  'SDL_sensor.h',
  'SDL_shape.h',
  'SDL_stdinc.h',
  'SDL_surface.h',
  'SDL_system.h',
  'SDL_syswm.h',
  'SDL_test.h',
  'SDL_test_assert.h',
  'SDL_test_common.h',
  'SDL_test_compare.h',
  'SDL_test_crc32.h',
  'SDL_test_font.h',
  'SDL_test_fuzzer.h',
  'SDL_test_harness.h',
  'SDL_test_images.h',
  'SDL_test_log.h',
  'SDL_test_md5.h',
  'SDL_test_memory.h',
  'SDL_test_random.h',
  'SDL_thread.h',
  'SDL_timer.h',
  'SDL_touch.h',
  'SDL_types.h',
  'SDL_version.h',
  'SDL_video.h',
  'SDL_vulkan.h',
  'begin_code.h',
  'close_code.h',
]

foreach header : headers
  c_sources += configure_file(
    input: header,
    output: header,
    copy: true,
    install: true,
    install_dir: incdir,
    install_tag: 'devel',
  )
endforeach
